package com.yfyszk.kingbird.global;


import com.yfyszk.kingbird.exception.ResultEnum;
import lombok.Data;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;

import java.io.Serializable;

/**
 * 类名称：ApiResult
 * 类描述：ApiResult 后台管理系统返回结果类
 * 创建人：wgc
 * 创建时间：2018年03月30日 下午12:49:14
 */
@Data
@ToString
@Slf4j
public final class GLApiResult<T extends Serializable> implements Serializable {


    private static final long serialVersionUID = 1L;

    /**
     * 错误码
     */
    private Integer code = ResultEnum.ERROR.getCode();

    /**
     * 错误信息
     */
    private String msg = null;

    /**
     * 返回结果实体
     */
    private Object data=null;


    public GLApiResult() {
    }

    public GLApiResult(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public GLApiResult(int code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    /**
     * @param msg
     * @return com.kb.ccpims.common.result.ApiResult<T>  返回错误 带有自定义状态码和信息的错误
     * @author wgc
     * @date 2019/11/3 0003 15:31
     */
    public static <T extends Serializable> GLApiResult<T> error(String msg) {
        return new GLApiResult<T>(ResultEnum.ERROR.getCode(), msg);
    }


}

